generic
  type component_t is private;

package ariane.maths.matrix.intf is

  -- matrix interface declaration
  type object is interface;

  -- returns the value of the specified component of the matrix
  function get(o : object; i,j : positive) return component_t is abstract;

  -- returns the number of rows of the matrix
  function numrows(o : object) return positive is abstract;

  -- returns the number of columns of the matrix
  function numcols(o : object) return positive is abstract;


end ariane.maths.matrix.intf;
